/*
 * FolderManagerI.hpp
 *
 *  Created on: 13.04.2011
 *      Author: niea
 */

#ifndef FOLDERMANAGERI_HPP_
#define FOLDERMANAGERI_HPP_

#include "../tcp/TCPListenerSubscriber.hpp"
#include "../common/Settings.hpp"
#include "../tcp/TCPMessenger.h"
#include "../file-client/FileClientI.hpp"

namespace efs
{

class FolderManagerI: public efs::TCPListenerSubscriber
{
public:
	FolderManagerI(std::string const& root_path, int folder_monitor_period, Settings const& settings);
	virtual ~FolderManagerI();
	void setExternalRes(FileClientI *file_client, TCPMessengerI *tcp_messenger);

protected:
	Settings m_settings;
	std::string m_root_path;
	int m_folder_monitor_period;

	FileClientI *m_file_client;
	TCPMessengerI *m_tcp_messenger;
};

}

#endif /* FOLDERMANAGERI_HPP_ */
